(Not Applicable)
(Not Applicable)
1. Technical Field
This invention describes a method for dynamically tracking the state of a device and it""s subcomponents based on the values of data elements.
2. Description of the Related Art
The state of individual components that comprise a complex device such as a space vehicle are traditionally captured onboard the vehicle, digitized, and transmitted to a ground station. State values for a number of individual components on the vehicle may be transmitted to the ground for monitoring the health and status of the vehicle. Although the state of many individual components is transmitted to the ground, no data is transmitted to describe the relationships of these telemetered data to each other. Also, since telemetry values typically come from actual measurements of physical component parts, no telemetry data is generally transmitted that directly indicates the state of higher order logical components.
For example, it may be desirable to know the state of a power component. Since the power component is in reality an assembly of sub-components (primary battery voltage, primary battery temperature, solar panel charging current, solar panel voltage, etc) there is no telemetry item that indicates the overall state of the power component itself. To determine the state of the power component, the operator/engineer would have to look at numerous sub-component indicators simultaneously and make an overall assessment. This is usually accomplished through custom software that is written for a particular satellite or satellite component. However, design and implementation of such custom software tends to be time consuming and costly. Accordingly, the present invention is intended to provide a simple and inexpensive system to permit a user to capture component/sub-component relationships.
The invention captures component/sub-component relationships in a hierarchical model of data elements. The relationships are captured as the user defines each element of the data model for the system. The invention includes a language and syntax that allows the user to specify all attributes of each individual data element including hierarchical relationships. The language allows the user to add logical composite elements to the data model as well as actual data elements. Additionally, the language allows the user to specify whether or not the state of any element is automatically propagated to its parent composite element.
The method includes the steps of providing the modeling language for permitting a user to define a hierarchical data structure comprised of a plurality of leaves. Each leaf represents a discrete symbol associated with a sub-system of the device. A parent symbol is similarly defined which represents a level of abstraction of the device which is higher in the hierarchy than the plurality of leaves. In response to updated data received for any leaf symbol, the system automatically determines an updated state of the leaf symbol based on the updated data and automatically propagates the updated state to the parent symbol. Consequently, a state of any device and its sub-systems can be dynamically represented, without the need for customized computer programming, once the hierarchical data structure has been defined by a user.
Using the language as described herein, an engineer can assemble a logical data model that accurately reflects the state of symbol data for a vehicle such as a satellite and all of its"" sub-assemblies. The system in one embodiment can include a compiler that compiles the user""s description of the model into an actual set of binary objects that respond to incoming real-time and/or playback telemetry values to provide state information about the satellite and its components at run-time.
User applications, such as a graphical model browser can use the hierarchical state information to make it easier for operators/engineers to monitor the health and status of a complex system such as a space vehicle. The hierarchical relationships and state information are easily tied to visual properties of standard graphical widgets such as tree views and can be color-coded for easy identification. Such a graphical model browser allows the user to monitor device state at a higher level of abstraction (for example: the power component). But, it also allows him/her to follow status information downwardly through the hierarchy by using visual queues to identify lower level sub-components that are driving the state of a higher level component. Since hierarchical relationships and state propagation characteristics are captured at model definition time, no special software needs to be developed for each new satellite or sub-component.